home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ien / ien-100 < prev    next >
Text File  |  1988-12-01  |  24KB  |  470 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. INDRA Note 754
  13. IEN 100
  14. May 3rd 1979
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                 Comparison of the DIN FTP and the NI FTP
  26.  
  27.                              C. J. Bennett
  28.                             P. L. Higginson
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.                ABSTRACT: This note assesses the  DIN  FTP
  40.                proposed   for  AUTODIN  II  according  to
  41.                design aims  developed  in  IEN  99.   The
  42.                facilities  available  in  the DIN FTP are
  43.                compared with those in the NI FTP.
  44.  
  45.                                      2
  46.  
  47.  
  48.  
  49.      The FTP proposed by BBN for  AUTODIN  II  is  conceptually  closely
  50. related  to  NI  FTP.   Many  of its basic concepts are derived from it,
  51. including the fundamental notions  of  the  conceptual  file  store  and
  52. parameter  negotiation.   Many  of the attributes used are extensions or
  53. restrictions of  NI  FTP  attributes,  although  the  coding  is  rather
  54. different.   Thus the approach taken in this note is to view the DIN FTP
  55. as an alternative approach to realising the same design aims.   The  two
  56. FTPs  are  therefore  compared  according  to  the  design  requirements
  57. developed in IEN 99.  Additionally, where the FTPs differ  significantly
  58. in  the  facilities  offered  to the user, these facilities are compared
  59. directly.
  60.  
  61. DIN FTP AND THE NI FTP DESIGN REQUIREMENTS
  62.  
  63. (i) Transport service independence.  The DIN  FTP  makes  the  following
  64. assumptions about the underlying transport service:
  65.  
  66.      (a) The transport service will  provide  a  synchronised  sequenced
  67.      stream  of octets between the two ends.  This is the same as the NI
  68.      FTP.
  69.  
  70.      (b) All recoverable errors are handled by  the  transport  service.
  71.      (This  is by implication, as the point is not explicitly discussed.
  72.      This is certainly the level of service provided by  TCP).   As  the
  73.      DIN  FTP  incorporates  all  the recovery mechanisms of the NI FTP,
  74.      this defect can be easily remedied, but as the specification stands
  75.      it  cannot  be  used  above  X25  or  similar services, which use a
  76.      transport service RESET involving loss of data.
  77.  
  78.      (c) The identity of the host of the connection  initiator  will  be
  79.      made  available  by the transport service (as all references to the
  80.      'Controlling Host ID' and 'Active Host ID' are by citation).   This
  81.      is  of course a reasonable assumption but not a necessary one.  For
  82.      example, the UCL NI FTP  project  is  investigating  NI  FTP  above
  83.      mapped  concatenated  virtual  calls.   In this situation, the only
  84.      addressing information which could be  supplied  from  a  transport
  85.      service is the address of the last transport protocol convertor.  
  86.  
  87.      (d) Any implementation  using  the  UserID  parameter  assumes  the
  88.      transport  service will perform authentication actions at all sites
  89.      involved in the transfer.  This assumption  is  only  true  of  the
  90.      Secure  TCP; hence implementations using this parameter can only be
  91.      used on AUTODIN II.  We will return to the issue of access  control
  92.      below.
  93.  
  94. (ii) Supportable applications.  The DIN FTP has removed several  options
  95. of the NI FTP which are useful in this regard.  These include:
  96.  
  97.      (a) The ability  to  mix  codes  in  a  file.   There  are  several
  98.      applications where this is useful, such as job output and graphics.
  99.      An example of  more  immediate  interest  is  mixed  FAX  and  text
  100.      messages.   This  restriction  is  arbitrary  and  could  easily be
  101.  
  102.                                      3
  103.  
  104.  
  105.  
  106.      removed from the DIN FTP (though the FileDataType parameter must be
  107.      redefined to be bit-coded).
  108.  
  109.      (b) Knowledge of the output device type.  This prevents the DIN FTP
  110.      from being used in spooling applications.
  111.  
  112.      (c) The distinction between selectors and  modifiers.   This  is  a
  113.      property of the conceptual filestore.  Its use is not very apparent
  114.      in the NI FTP as such, but it enables other protocols such  as  Job
  115.      Transfer   and  File  Management  protocols  to  be  built  easily.
  116.      (Consider the difference between 'Select File with FileName X'  and
  117.      'Modify  (selected)  FileName  to X'.) The topic of other protocols
  118.      will be returned to later.
  119.  
  120.      (d) The ability to readily trace  file  transfers  in  system  logs
  121.      through the Monitor Message parameter.  This is particularly useful
  122.      for error tracing and for following up user complaints.
  123.  
  124. (iii) Operating system independence.  The DIN FTP  has  removed  several
  125. attributes  which  will  make  it  difficult  to  implement  it  on some
  126. operating  systems.   In  particular  we  note  the  following  NI   FTP
  127. attributes  omitted  in  the  DIN  FTP  which may cause problems in this
  128. regard:
  129.  
  130.      (a) Maximum Transfer Size.  This refers to the amount of data  that
  131.      will actually be transferred; the Maximum File Size is the size the
  132.      resultant file may not exceed.  The two are conceptually different,
  133.      and  may  have different effects.  On some systems (eg IBM's OS360,
  134.      GEC 4080) the Maximum File Size, reserved at  file  creation  time,
  135.      sets  a  limit  for  all  eternity,  and must cover all anticipated
  136.      appends.  The DIN FTP's MaximumFileSize  parameter  is  in  fact  a
  137.      MaximumTransferSize parameter.  
  138.  
  139.      (b) Filename Password.  Files may legitimately be accessed (even on
  140.      TENEX)  by  giving  an  appropriate  key  without  the  user  being
  141.      recognised as the owner of that file.  Some IBM systems can require
  142.      a   legitimately   logged   in   user   to  provide  an  additional
  143.      file-specific password before access is granted to a file.
  144.  
  145.      (c) Account Password.  Usernames and Accountnames are  conceptually
  146.      orthogonal.   In  systems  where  a  'username'  corresponds  to  a
  147.      superdirectory shared  between  many  different  users,  these  may
  148.      distinguished  by  accounts  with  a  separate  level  of  password
  149.      protection.  An  example  of  this  kind  of  double  lock  is  the
  150.      superuser mode on UCL's UNIX.
  151.  
  152.  
  153. The issue here is not one of meeting  the  peculiarities  of  particular
  154. operating  systems.  The rationale behind such features of the NI FTP is
  155. that they represent different fundamental concepts, and that even though
  156. some  systems  may  not find the distinctions important, it was foreseen
  157. that  some  implementations  and  applications  would  find  them   very
  158.  
  159.                                      4
  160.  
  161.  
  162.  
  163. necessary.   Nevertheless,  it should be stressed that the NI FTP design
  164. group had experience of a wide range of operating systems, most of which
  165. are  commonly  used in the UK.  The attributes introduced were all found
  166. to be either immediately necessary, or represented areas in which it was
  167. felt "escape routes" should be provided.
  168.  
  169. (iv) Extendability.  There are two aspects to this question.  One is the
  170. provision  of  "escape  routes",  mentioned  above.   The  NI  FTP  spec
  171. identifies several areas where such escape routes are  needed,  notably:
  172. Access  Control (via the 'Account Password', which, as we saw above, can
  173. be used to cover secondary levels of protection); File Description  (via
  174. 'Kinship');  Data coding (via the 'Private Codes' selector); and special
  175. processing (via 'Special  Options').   With  the  exception  of  Private
  176. Codes,  these  are omitted from the DIN FTP.  The DIN FTP does provide a
  177. 'HostHardwareTypes' escape parameter; this extends a  feature  which  is
  178. not supported by NI FTP for reasons discussed below.
  179.  
  180. The second aspect is protocol extension.  As discussed above, the NI FTP
  181. readily  extends  to  new  attributes during the negotiation phase.  The
  182. inclusion of new data transfer management commands  (level  1)  is  more
  183. difficult  than  with  DIN  FTP, but the memoryless transfer model means
  184. that very few such commands should really be needed.  The mechanisms for
  185. negotiating  sets  of  protocol extensions (with option sets, relational
  186. operators and so on) are very similar in both protocols.  (A minor point
  187. is  that  the  NI  FTP  has attempted to bit-encode option selectors and
  188. operators.  This  allows,  for  example,  a  natural  extension  of  the
  189. protocol to include LT and GT operators.)
  190.  
  191. FACILITIES COMPARISON
  192.  
  193. (i) The three party transfer model.  The approach taken by the  DIN  FTP
  194. is  not  actually  incompatible  with  the  NI  FTP, and one could quite
  195. reasonably implement an NI FTP (or a whole  family  of  implementations)
  196. which used a private Controller/Active protocol, with extensions such as
  197. 'SourceFile', 'SourceUser', etc, and necessary additional commands  such
  198. as 'Disconnect'.
  199.  
  200. (ii) Access Control.  We have presented above our reasons for  believing
  201. that  the DIN FTP is inadequate as a general-purpose FTP in this regard.
  202. The (very strong) access control available on AUTODIN  II  is  transport
  203. service specific, and implementations which support it are not portable.
  204. Use of this facility will tend to create a  "closed  community"  of  FTP
  205. implementations.  The network-independent attributes provided for access
  206. control will not always be sufficient.  The three party model used  also
  207. allows  the  Active site to inspect the access control parameters issued
  208. by the controller for the Passive, which could lead to security problems
  209. when  authentication  is  an  important  issue.   (Obviously this cannot
  210. happen in a two-party model).
  211.  
  212. Access control is not really an FTP issue.  Different systems can choose
  213. different  methods:  source  host  lists, recall addresses, and password
  214. protection  are  three.   An  FTP  should  have  hooks   for   providing
  215.  
  216.                                      5
  217.  
  218.  
  219.  
  220. information  to  systems where the access control is password based, but
  221. this is simply a channel for contending with one type of access control.
  222. The  actual requirements for access control are implementation-specific.
  223. The argument that single-host ownership of files is a  major  impediment
  224. to  distributed  file  sharing is undeniable, but we feel that it is not
  225. the job of an FTP to solve this problem.  As and when  solutions  become
  226. available  they should be exploited by FTP implementations, but the best
  227. that the protocol specification can do  is  to  recognise  the  existing
  228. state of chaos.
  229.  
  230. (iii) The DIN FTP provides formal grades of implementation.  The NI  FTP
  231. is  more  flexible,  as it allows specific implementations to suit their
  232. own  needs  and  facilities,  and  it  is  only  recommended  that   all
  233. implementations  support a defined set of defaults, while 'core' DIN FTP
  234. attributes are all required.  Thus a very specific NI FTP implementation
  235. can be built for a specialised device which does not support unnecessary
  236. default values.  (We at UCL intend to exploit this feature of NI FTP  in
  237. our FAX project).
  238.  
  239. At a more philosophical level, this  reflects  the  design  environments
  240. from which the FTPs emerged - the NI FTP is being offered as a basis for
  241. standardisation for any  group.   These  cannot  be  controlled  by  any
  242. central  or  regulating  body;  the  DIN FTP assumes the more closed and
  243. controlled environment of AUTODIN II.
  244.  
  245. (iv) The Data Transfer Protocol.  We are  unconvinced  that  the  formal
  246. separation of a data transfer protocol is a useful extension.  As far as
  247. the FTP is concerned, it is little different from  the  NI  FTP  records
  248. during the data transfer phase, but complicates the formatting of NI FTP
  249. commands considerably.  An NI FTP SFT, as generated by the current TENEX
  250. version,  may  occupy  78 octets complete with headers; with the DTP the
  251. equivalent SFT requires 28 sets of headers instead of  2,  and  occupies
  252. 131  octets.   (With  data  segments,  the  NI FTP is more efficient for
  253. records of less than 126 bytes, and the DTP becomes more efficient  than
  254. NI  FTP  for  records  exceeding  189  octets,  though the difference is
  255. marginal).   Where  efficiency  may  become   important   is   in   data
  256. compression.   The  NI  FTP  breakeven  point  for compression is 3 data
  257. bytes; for the DIN FTP it is between 5 and 7  bytes  (depending  on  how
  258. many control headers are involved).
  259.  
  260. However, the basic point at issue is whether the DTP is the right  place
  261. to provide hooks for more sophisticated protocols.  We contend that most
  262. such protocols (job  entry,  FAX,  graphics,  mail  etc)  will  rely  on
  263. primitives  manipulating  whole  files.   Hence  the  point of departure
  264. should be the conceptual file store and the attributes  and  negotiation
  265. mechanisms  used  to  control  a  file  within  it.   Once this has been
  266. accepted, protocols performing other file-based functions can use  these
  267. common descriptions and mechanisms.
  268.  
  269. (v) Partial File Transfers.  This is a useful facility available only in
  270. the  DIN  FTP.   The  associated abilities to describe file structure as
  271. indexed, variable record etc, and to nominate the keylength field length
  272.  
  273.                                      6
  274.  
  275.  
  276.  
  277. are  also  useful.  The fact that the NI FTP is restricted to sequential
  278. files is recognised to be a major limitation.  In the NI FTP  model,  an
  279. extension  to  handle  partial file transfer could negotiate the pair of
  280. transfer delimiters during the negotiation phase, and transfer a  single
  281. sequential  section  of  the  file  during the transfer phase.  Thus the
  282. feature is supportable by extension,  but  requires  the  definition  of
  283. several new parameters.
  284.  
  285. (vi) Multiple  file  transfers.   Both  protocols  can  readily  support
  286. multiple  file  transfers, though the details vary.  The NI FTP requires
  287. the passive side to be reinitialised each time, which  protects  against
  288. parameter  interdependencies  persisting  between  transfers  (see (vii)
  289. below).  Thus the facility becomes a problem for  the  designer  of  the
  290. user  interface.  The same remark, of course, apples to multiple partial
  291. transfers.
  292.  
  293. (vii) Parameter Negotiation.  This is much more formal in DIN  FTP  than
  294. NI FTP.  In particular, parameters are explicitly grouped into different
  295. commands (Login, TransactionDescription and  TransferDescription).   The
  296. reasons for preserving this distinction beyond the user interface rather
  297. than issuing a single  SFT,  which  allows  an  operating  system  total
  298. freedom  to  make  its  own weird assumptions about the relationships of
  299. parameters, are unclear.
  300.  
  301. The whole problem of interactions between parameters is potentially very
  302. complex,  and  it  was  for this reason that the NI FTP design precludes
  303. multiple attempts at SFT after a rejection.  The parameter settings left
  304. from  the  last  transfer,  or  negotiation  attempt, may have undesired
  305. consequences on the next.
  306.  
  307. The DIN FTP also allows an  attribute  to  be  specified  several  times
  308. within   a   command,  which  the  NI  FTP  prohibits  (except  for  one
  309. experimental version).  The specification  uses  multiple  citations  of
  310. SourceFileName  as  the example for this.  Since it is not intended that
  311. this ability be used to set ranges of restrictions (eg ByteSize ge 8 and
  312. le 36 but ne 22), this case seems to be the only possible use outside of
  313. statistics collection.
  314.  
  315. (viii) File Management Primitives.  The  NI  FTP  group  has  taken  the
  316. attitude  that  file  management  is  the  proper  function  of  another
  317. (compatible) protocol providing the complete  range  of  facilities  and
  318. using  the same conceptual filestore structure.  Hence the NI FTP's file
  319. manipulation, as expressed by the Mode of Access  attribute,  is  solely
  320. related  to  copying  files.   The  access  modes  of  NI  FTP  are  all
  321. supportable by the DIN FTP, with the exception  of  'destructive  read'.
  322. DIN  FTP  provides two file management primitives: Delete and ListNames.
  323. Delete is, of course, easy  to  implement.   ListNames  is  a  directory
  324. interrogation  facility,  and is primarily useful for obtaining lists of
  325. filenames for subsequent  multiple  file  transfer.   This  is  of  more
  326. limited  use  with  the NI FTP's two-party model than with the DIN FTP's
  327. three party model, and can only be used to full advantage where  grouped
  328. file specification is possible.
  329.  
  330.                                      7
  331.  
  332.  
  333.  
  334. (ix) Foreground and background mode.  In practise, we can see  very  few
  335. differences  between  them, as all three parties must be involved in the
  336. entire negotiation phase.   Essentially,  the  difference  is  that  the
  337. Controller/Active  and  Active/Passive  connections  do  not  have to be
  338. simultaneously open but can be opened as needed (eg the  controller  may
  339. have  to  answer  a LoginRequest from a passive in background mode) that
  340. is,  in  background  mode  all  three  parties  retain  records  of  the
  341. transaction  specification.   This  is  a consequence of the three-party
  342. model; in the NI FTP it is a user interface issue and an  implementation
  343. may be either foreground or background.
  344.  
  345. (x) Host Type.  There are two ways this type of parameter can  be  used.
  346. It  is  clearly  useful for a user interface to offer shorthand profiles
  347. for various parameter settings.   The  DIN  FTP  takes  the  alternative
  348. approach  in  which  the  parameter  allows  transfers between identical
  349. systems in efficient ways, but these are not defined within the DIN  FTP
  350. specification.   We  do  not feel this is desirable, and we question the
  351. implied assumption that it is not necessary.  Noncommunicating  families
  352. of  FTPs can build up local interpretations for parameters of this sort.
  353. When, at a later date, it  becomes  possible  for  two  such  groups  to
  354. interconnect,   the   local   interpretations   will   be  found  to  be
  355. incompatible.  This facility again reflects the fact that the DIN FTP is
  356. developed  for  the AUTODIN II environment; in our opinion, this type of
  357. facility should be implemented in  the  user  interface  via  a  profile
  358. mechanism in a more open environment.
  359.  
  360. (xi) Format Effectors.  All additions made by the DIN FTP to the NI  FTP
  361. list can be adequately described within that list (with the ANSI Fortran
  362. Format setting).  The DIN FTP restriction that bits 1, 2  and  4  cannot
  363. interact  is unnecessary (For example, it is perfectly reasonable to mix
  364. imbedded  Horizontal  Tabs  with  the  reqiuirement  that  End-of-Record
  365. implies  end  of  line).   We doubt whether the ability to change format
  366. settings during the transmission of data is a capability which  will  be
  367. widely  used.   In  any  case,  we  do  not think that there should be a
  368. mandatory TextFormatter between records, and feel that  the  restriction
  369. that  DTP  segments should only contain whole lines is unnecessary.  The
  370. Tabstops attribute may be a  useful  idea.   As  is  currently  defined,
  371. however,  it  requires  the  receiver  to  keep  table  space for it; we
  372. recommend a fixed tab interval that can be changed as an  option.   This
  373. approach  could  easily be supported by the NI FTP.  We note that the NI
  374. FTP's earlier breakeven  point  for  compression  makes  compression  an
  375. attractive approach to this problem.  
  376.  
  377. (xii) Rollback.  Extending Rollback to allow the sender to  request  the
  378. receiver   to  rollback  is  probably  a  good  idea.   However,  it  is
  379. potentially more difficult for the receiver to roll back than it is  for
  380. the  sender as his internal checkpoints may not correspond at all to the
  381. FTP's  CheckPoints  (which  are  likely  to   correspond   to   internal
  382. checkpoints of the sender).  Hence he may have to keep track of at least
  383. a window's worth  of  FTP  checkpoints,  whether  acknowledged  or  not.
  384. Additionally,  he  must  be  able  to  retrieve  the  stored data.  Some
  385. acknowledgement strategies (eg Ack a full window  only)  will  sometimes
  386.  
  387.                                      8
  388.  
  389.  
  390.  
  391. require the receiver to retain checkpoint information for even longer to
  392. avoid  races  between   Rollback   from   the   Donor   and   CheckPoint
  393. Acknowledgement from the Recipient.
  394.  
  395. (xiii) CheckPoints.  A 16  bit  checkpoint  field  seems  rather  large;
  396. allowing   the   checkpoints   to   be   any  arbitrary  numbers  forces
  397. implementations to keep tables of unacknowledged checkpoints, which  may
  398. not be necessary with NI FTP.
  399.  
  400. (xiv) Statistics Parameters.  Defining  statistics  parameters  for  the
  401. active  side  is  a  reasonable  consequence  of  the three party model.
  402. Standard statistics for the passive side is not so obviously useful;  it
  403. seems  to  imply a model whereby statistics are gathered by some central
  404. FTP Monitoring Centre, especially as these are required parameters.   If
  405. true,  this  is  again  a  reflection  of the more closed environment of
  406. AUTODIN II.
  407.  
  408. (xv) Binary Mapping.  This is a problem area with  both  protocols,  and
  409. for much the same reasons.  These are:
  410.  
  411.      (a) For files where the byte size is less than eight, and bytes are
  412.      being transferred in packed mode, it is not always possible to tell
  413.      exactly how many bytes a  subrecord  contains.   The  DIN  FTP  has
  414.      proposed using a flag pattern as a solution to this problem.
  415.  
  416.      (b) One of the reasons for transferring bytes in  packed  mode  for
  417.      byte  sizes  of  other  than  eight  bits  is  to allow a 'natural'
  418.      transfer for systems which do not use eight bit  bytes  internally.
  419.      This  is  largely  negated by the fact that the subrecord header is
  420.      fixed to be an eight bit byte.
  421.  
  422.      (c) It has recently become clear  that  specifying  the  conceptual
  423.      transmission  order  of the bits has introduced a 'handedness' into
  424.      the protocol.  The DIN FTP, which follows the 1822 convention  that
  425.      the  high  bit is transmitted first, can be regarded as lefthanded,
  426.      while the NI FTP, which makes the opposite choice (following  X25),
  427.      can   be   regarded  as  righthanded.   An  implementation  of  one
  428.      handedness wishing to send aligned data to one  of  the  other  (or
  429.      even  across a hardware interface of the other handedness, relative
  430.      to the internal word) must  first  permute  all  octets  holding  a
  431.      larger  bytesized byte.  (Where the transfer is in packed mode, the
  432.      action is even more complex.)
  433.  
  434. The NI FTP suffers from all three problems; the DIN FTP  has  adopted  a
  435. solution to the first.  The NI FTP group is studying this area as one in
  436. urgent need of revision.
  437.  
  438. SUMMARY
  439.  
  440.      The DIN FTP reflects in many ways assumptions about the environment
  441. provided  by  AUTODIN II.  It is TCP-dependent to a small extent (and in
  442. its Access Control it is Secure TCP dependent).  Its set  of  attributes
  443.  
  444.                                      9
  445.  
  446.  
  447.  
  448. and  choice  of  commands limit the range of applications it can be used
  449. for and the range of operating systems it can be easily implemented  on.
  450. Several  attributes  and  the  formality  of  the  implementation levels
  451. reflect a situation where implementation is  under  a  stronger  central
  452. influence  than  the NI FTP.  All these factors militate against its use
  453. in the more open, uncontrolled  environment  of  the  worldwide  network
  454. research community.
  455.  
  456.      The two protocols are very closely related.   Even  some  seemingly
  457. major  differences can be resolved by regarding DIN FTP specification as
  458. describing one form of NI FTP implementation (for  instance,  the  three
  459. party  model, multiple file transfers, and foreground/background modes).
  460. Both are significant advances on other FTPs which are currently in  use.
  461. The DIN FTP offers several extensions to the facilities available in the
  462. NI FTP, and some of these (most notably,  partial  file  transfers)  are
  463. real   advances   on  it.   However,  where  the  two  offer  comparable
  464. facilities, we feel the NI FTP is usually to be preferred.  The DIN  FTP
  465. tends  to be more restrictive in the use of its facilities, and where it
  466. is more free than the NI FTP, it tends to be rather  expensive  for  the
  467. implementor  to  support in terms of the gains achieved.  Extensions can
  468. easily be made to the NI FTP to include the real improvements  which  do
  469. exist in the DIN FTP.  
  470.